package demo

import (
	"log"
	"net"
)
main

import (
"log"
"net"
"tcp-lib/pkg/codec"
"tcp-lib/proto"
)

func main() {
	conn, err := net.Dial("tcp", "localhost:8080")
	if err != nil {
		log.Fatal(err)
	}

	// 使用带协议头的编解码器
	codec := &codec.ProtoCodecWithHeader{
		TypeResolver: func(uint32) proto.Message { return nil }, // 客户端不需要解析
	}

	// 构造登录消息
	msg := &proto.LoginReq{
		Username: "test",
		Password: "123456",
	}

	data, err := codec.Encode(msg)
	if err != nil {
		log.Fatal(err)
	}

	if _, err := conn.Write(data); err != nil {
		log.Fatal(err)
	}

	// 处理响应...
}
